package com.pisolution.scheduler.datasource.instance;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * {@link WorkflowInstance} 相关定制化查询接口.
 *
 * @author sora
 * @version 0.1.0
 */
@Mapper
public interface WorkflowInstanceMapper extends BaseMapper<WorkflowInstance> {
    // -------------------------------------------------------------------------------------------------
    //  定制化查询
    // -------------------------------------------------------------------------------------------------

    /**
     * 查询所有受管于给定管理节点并处于特定运行状态的工作流实例.
     *
     * @param host 管理该工作流实例的管理节点主机地址.
     * @param states 工作流实例所处的运行状态.
     *
     * @return 所有符合该限定条件的工作流实例对象.
     */
    List<WorkflowInstance> queryByHostAndState(@Param("host") final String host, @Param("states") final int[] states);
}
